#pragma once
#include <cstdint>
#include <vector>
#include "limesuiteng/config.h"
#include "limesuiteng/Register.h"
#include "limesuiteng/LMS7002MCSR.h"

namespace lime {
namespace LMS7002MCSR_Data {

/// @brief The structure defining an LMS7002M chip register.
struct CSRegister : public lime::Register {
    constexpr CSRegister()
        : CSRegister(0, 0, 0, 0, 0, 0){};

    /// @copydoc lime::Register::Register(uint16_t,uint8_t,uint8_t)
    /// @param defaultValue The default value of the register.
    /// @param name The name of the register.
    /// @param tooltip The tooltip of the register.
    constexpr CSRegister(uint16_t address, uint8_t msb, uint8_t lsb, uint16_t defaultValue, const char* name, const char* tooltip)
        : lime::Register(address, msb, lsb)
        , defaultValue(defaultValue)
        , name(name)
        , tooltip(tooltip){};

    uint16_t defaultValue; ///< The default value of the parameter.
    const char* name; ///< The name of the parameter.
    const char* tooltip; ///< The tooltip of the parameter.
};

extern const CSRegister LRST_TX_B;
extern const CSRegister MRST_TX_B;
extern const CSRegister LRST_TX_A;
extern const CSRegister MRST_TX_A;
extern const CSRegister LRST_RX_B;
extern const CSRegister MRST_RX_B;
extern const CSRegister LRST_RX_A;
extern const CSRegister MRST_RX_A;
extern const CSRegister SRST_RXFIFO;
extern const CSRegister SRST_TXFIFO;
extern const CSRegister RXEN_B;
extern const CSRegister RXEN_A;
extern const CSRegister TXEN_B;
extern const CSRegister TXEN_A;
extern const CSRegister MAC;
extern const CSRegister TX_CLK_PE;
extern const CSRegister RX_CLK_PE;
extern const CSRegister SDA_PE;
extern const CSRegister SDA_DS;
extern const CSRegister SCL_PE;
extern const CSRegister SCL_DS;
extern const CSRegister SDIO_DS;
extern const CSRegister SDIO_PE;
extern const CSRegister SDO_PE;
extern const CSRegister SCLK_PE;
extern const CSRegister SEN_PE;
extern const CSRegister SPIMODE;
extern const CSRegister DIQ2_DS;
extern const CSRegister DIQ2_PE;
extern const CSRegister IQ_SEL_EN_2_PE;
extern const CSRegister TXNRX2_PE;
extern const CSRegister FCLK2_PE;
extern const CSRegister MCLK2_PE;
extern const CSRegister DIQ1_DS;
extern const CSRegister DIQ1_PE;
extern const CSRegister IQ_SEL_EN_1_PE;
extern const CSRegister TXNRX1_PE;
extern const CSRegister FCLK1_PE;
extern const CSRegister MCLK1_PE;
extern const CSRegister DIQDIRCTR2;
extern const CSRegister DIQDIR2;
extern const CSRegister DIQDIRCTR1;
extern const CSRegister DIQDIR1;
extern const CSRegister ENABLEDIRCTR2;
extern const CSRegister ENABLEDIR2;
extern const CSRegister ENABLEDIRCTR1;
extern const CSRegister ENABLEDIR1;
extern const CSRegister MOD_EN;
extern const CSRegister LML2_FIDM;
extern const CSRegister LML2_TXNRXIQ;
extern const CSRegister LML2_MODE;
extern const CSRegister LML1_FIDM;
extern const CSRegister LML1_TXNRXIQ;
extern const CSRegister LML1_MODE;
extern const CSRegister LML1_S3S;
extern const CSRegister LML1_S2S;
extern const CSRegister LML1_S1S;
extern const CSRegister LML1_S0S;
extern const CSRegister LML1_BQP;
extern const CSRegister LML1_BIP;
extern const CSRegister LML1_AQP;
extern const CSRegister LML1_AIP;
extern const CSRegister LML1_BB2RF_PST;
extern const CSRegister LML1_BB2RF_PRE;
extern const CSRegister LML1_RF2BB_PST;
extern const CSRegister LML1_RF2BB_PRE;
extern const CSRegister LML2_S3S;
extern const CSRegister LML2_S2S;
extern const CSRegister LML2_S1S;
extern const CSRegister LML2_S0S;
extern const CSRegister LML2_BQP;
extern const CSRegister LML2_BIP;
extern const CSRegister LML2_AQP;
extern const CSRegister LML2_AIP;
extern const CSRegister LML2_BB2RF_PST;
extern const CSRegister LML2_BB2RF_PRE;
extern const CSRegister LML2_RF2BB_PST;
extern const CSRegister LML2_RF2BB_PRE;
extern const CSRegister FCLK2_DLY;
extern const CSRegister FCLK1_DLY;
extern const CSRegister RX_MUX;
extern const CSRegister TX_MUX;
extern const CSRegister TXRDCLK_MUX;
extern const CSRegister TXWRCLK_MUX;
extern const CSRegister RXRDCLK_MUX;
extern const CSRegister RXWRCLK_MUX;
extern const CSRegister FCLK2_INV;
extern const CSRegister FCLK1_INV;
extern const CSRegister MCLK2DLY;
extern const CSRegister MCLK1DLY;
extern const CSRegister MCLK2SRC;
extern const CSRegister MCLK1SRC;
extern const CSRegister TXDIVEN;
extern const CSRegister RXDIVEN;
extern const CSRegister TXTSPCLKA_DIV;
extern const CSRegister RXTSPCLKA_DIV;
extern const CSRegister MIMO_SISO;
extern const CSRegister VER;
extern const CSRegister REV;
extern const CSRegister MASK;
extern const CSRegister EN_DIR_LDO;
extern const CSRegister EN_DIR_CGEN;
extern const CSRegister EN_DIR_XBUF;
extern const CSRegister EN_DIR_AFE;
extern const CSRegister ISEL_DAC_AFE;
extern const CSRegister MODE_INTERLEAVE_AFE;
extern const CSRegister MUX_AFE_1;
extern const CSRegister MUX_AFE_2;
extern const CSRegister PD_AFE;
extern const CSRegister PD_RX_AFE1;
extern const CSRegister PD_RX_AFE2;
extern const CSRegister PD_TX_AFE1;
extern const CSRegister PD_TX_AFE2;
extern const CSRegister EN_G_AFE;
extern const CSRegister MUX_BIAS_OUT;
extern const CSRegister RP_CALIB_BIAS;
extern const CSRegister PD_FRP_BIAS;
extern const CSRegister PD_F_BIAS;
extern const CSRegister PD_PTRP_BIAS;
extern const CSRegister PD_PT_BIAS;
extern const CSRegister PD_BIAS_MASTER;
extern const CSRegister SLFB_XBUF_RX;
extern const CSRegister SLFB_XBUF_TX;
extern const CSRegister BYP_XBUF_RX;
extern const CSRegister BYP_XBUF_TX;
extern const CSRegister EN_OUT2_XBUF_TX;
extern const CSRegister EN_TBUFIN_XBUF_RX;
extern const CSRegister PD_XBUF_RX;
extern const CSRegister PD_XBUF_TX;
extern const CSRegister EN_G_XBUF;
extern const CSRegister SPDUP_VCO_CGEN;
extern const CSRegister RESET_N_CGEN;
extern const CSRegister EN_ADCCLKH_CLKGN;
extern const CSRegister EN_COARSE_CKLGEN;
extern const CSRegister EN_INTONLY_SDM_CGEN;
extern const CSRegister EN_SDM_CLK_CGEN;
extern const CSRegister PD_CP_CGEN;
extern const CSRegister PD_FDIV_FB_CGEN;
extern const CSRegister PD_FDIV_O_CGEN;
extern const CSRegister PD_SDM_CGEN;
extern const CSRegister PD_VCO_CGEN;
extern const CSRegister PD_VCO_COMP_CGEN;
extern const CSRegister EN_G_CGEN;
extern const CSRegister FRAC_SDM_CGEN_LSB;
extern const CSRegister INT_SDM_CGEN;
extern const CSRegister FRAC_SDM_CGEN_MSB;
extern const CSRegister REV_SDMCLK_CGEN;
extern const CSRegister SEL_SDMCLK_CGEN;
extern const CSRegister SX_DITHER_EN_CGEN;
extern const CSRegister CLKH_OV_CLKL_CGEN;
extern const CSRegister DIV_OUTCH_CGEN;
extern const CSRegister TST_CGEN;
extern const CSRegister REV_CLKDAC_CGEN;
extern const CSRegister CMPLO_CTRL_CGEN;
extern const CSRegister REV_CLKADC_CGEN;
extern const CSRegister REVPH_PFD_CGEN;
extern const CSRegister IOFFSET_CP_CGEN;
extern const CSRegister IPULSE_CP_CGEN;
extern const CSRegister ICT_VCO_CGEN;
extern const CSRegister CSW_VCO_CGEN;
extern const CSRegister COARSE_START_CGEN;
extern const CSRegister COARSE_STEPDONE_CGEN;
extern const CSRegister COARSEPLL_COMPO_CGEN;
extern const CSRegister VCO_CMPHO_CGEN;
extern const CSRegister VCO_CMPLO_CGEN;
extern const CSRegister CP2_CGEN;
extern const CSRegister CP3_CGEN;
extern const CSRegister CZ_CGEN;
extern const CSRegister EN_LDO_DIG;
extern const CSRegister EN_LDO_DIGGN;
extern const CSRegister EN_LDO_DIGSXR;
extern const CSRegister EN_LDO_DIGSXT;
extern const CSRegister EN_LDO_DIVGN;
extern const CSRegister EN_LDO_DIVSXR;
extern const CSRegister EN_LDO_DIVSXT;
extern const CSRegister EN_LDO_LNA12;
extern const CSRegister EN_LDO_LNA14;
extern const CSRegister EN_LDO_MXRFE;
extern const CSRegister EN_LDO_RBB;
extern const CSRegister EN_LDO_RXBUF;
extern const CSRegister EN_LDO_TBB;
extern const CSRegister EN_LDO_TIA12;
extern const CSRegister EN_LDO_TIA14;
extern const CSRegister EN_G_LDO;
extern const CSRegister EN_LOADIMP_LDO_TLOB;
extern const CSRegister EN_LOADIMP_LDO_TPAD;
extern const CSRegister EN_LOADIMP_LDO_TXBUF;
extern const CSRegister EN_LOADIMP_LDO_VCOGN;
extern const CSRegister EN_LOADIMP_LDO_VCOSXR;
extern const CSRegister EN_LOADIMP_LDO_VCOSXT;
extern const CSRegister EN_LDO_AFE;
extern const CSRegister EN_LDO_CPGN;
extern const CSRegister EN_LDO_CPSXR;
extern const CSRegister EN_LDO_TLOB;
extern const CSRegister EN_LDO_TPAD;
extern const CSRegister EN_LDO_TXBUF;
extern const CSRegister EN_LDO_VCOGN;
extern const CSRegister EN_LDO_VCOSXR;
extern const CSRegister EN_LDO_VCOSXT;
extern const CSRegister EN_LDO_CPSXT;
extern const CSRegister EN_LOADIMP_LDO_CPSXT;
extern const CSRegister EN_LOADIMP_LDO_DIG;
extern const CSRegister EN_LOADIMP_LDO_DIGGN;
extern const CSRegister EN_LOADIMP_LDO_DIGSXR;
extern const CSRegister EN_LOADIMP_LDO_DIGSXT;
extern const CSRegister EN_LOADIMP_LDO_DIVGN;
extern const CSRegister EN_LOADIMP_LDO_DIVSXR;
extern const CSRegister EN_LOADIMP_LDO_DIVSXT;
extern const CSRegister EN_LOADIMP_LDO_LNA12;
extern const CSRegister EN_LOADIMP_LDO_LNA14;
extern const CSRegister EN_LOADIMP_LDO_MXRFE;
extern const CSRegister EN_LOADIMP_LDO_RBB;
extern const CSRegister EN_LOADIMP_LDO_RXBUF;
extern const CSRegister EN_LOADIMP_LDO_TBB;
extern const CSRegister EN_LOADIMP_LDO_TIA12;
extern const CSRegister EN_LOADIMP_LDO_TIA14;
extern const CSRegister BYP_LDO_TBB;
extern const CSRegister BYP_LDO_TIA12;
extern const CSRegister BYP_LDO_TIA14;
extern const CSRegister BYP_LDO_TLOB;
extern const CSRegister BYP_LDO_TPAD;
extern const CSRegister BYP_LDO_TXBUF;
extern const CSRegister BYP_LDO_VCOGN;
extern const CSRegister BYP_LDO_VCOSXR;
extern const CSRegister BYP_LDO_VCOSXT;
extern const CSRegister EN_LOADIMP_LDO_AFE;
extern const CSRegister EN_LOADIMP_LDO_CPGN;
extern const CSRegister EN_LOADIMP_LDO_CPSXR;
extern const CSRegister BYP_LDO_AFE;
extern const CSRegister BYP_LDO_CPGN;
extern const CSRegister BYP_LDO_CPSXR;
extern const CSRegister BYP_LDO_CPSXT;
extern const CSRegister BYP_LDO_DIG;
extern const CSRegister BYP_LDO_DIGGN;
extern const CSRegister BYP_LDO_DIGSXR;
extern const CSRegister BYP_LDO_DIGSXT;
extern const CSRegister BYP_LDO_DIVGN;
extern const CSRegister BYP_LDO_DIVSXR;
extern const CSRegister BYP_LDO_DIVSXT;
extern const CSRegister BYP_LDO_LNA12;
extern const CSRegister BYP_LDO_LNA14;
extern const CSRegister BYP_LDO_MXRFE;
extern const CSRegister BYP_LDO_RBB;
extern const CSRegister BYP_LDO_RXBUF;
extern const CSRegister SPDUP_LDO_DIVSXR;
extern const CSRegister SPDUP_LDO_DIVSXT;
extern const CSRegister SPDUP_LDO_LNA12;
extern const CSRegister SPDUP_LDO_LNA14;
extern const CSRegister SPDUP_LDO_MXRFE;
extern const CSRegister SPDUP_LDO_RBB;
extern const CSRegister SPDUP_LDO_RXBUF;
extern const CSRegister SPDUP_LDO_TBB;
extern const CSRegister SPDUP_LDO_TIA12;
extern const CSRegister SPDUP_LDO_TIA14;
extern const CSRegister SPDUP_LDO_TLOB;
extern const CSRegister SPDUP_LDO_TPAD;
extern const CSRegister SPDUP_LDO_TXBUF;
extern const CSRegister SPDUP_LDO_VCOGN;
extern const CSRegister SPDUP_LDO_VCOSXR;
extern const CSRegister SPDUP_LDO_VCOSXT;
extern const CSRegister SPDUP_LDO_AFE;
extern const CSRegister SPDUP_LDO_CPGN;
extern const CSRegister SPDUP_LDO_CPSXR;
extern const CSRegister SPDUP_LDO_CPSXT;
extern const CSRegister SPDUP_LDO_DIG;
extern const CSRegister SPDUP_LDO_DIGGN;
extern const CSRegister SPDUP_LDO_DIGSXR;
extern const CSRegister SPDUP_LDO_DIGSXT;
extern const CSRegister SPDUP_LDO_DIVGN;
extern const CSRegister RDIV_VCOSXR;
extern const CSRegister RDIV_VCOSXT;
extern const CSRegister RDIV_TXBUF;
extern const CSRegister RDIV_VCOGN;
extern const CSRegister RDIV_TLOB;
extern const CSRegister RDIV_TPAD;
extern const CSRegister RDIV_TIA12;
extern const CSRegister RDIV_TIA14;
extern const CSRegister RDIV_RXBUF;
extern const CSRegister RDIV_TBB;
extern const CSRegister RDIV_MXRFE;
extern const CSRegister RDIV_RBB;
extern const CSRegister RDIV_LNA12;
extern const CSRegister RDIV_LNA14;
extern const CSRegister RDIV_DIVSXR;
extern const CSRegister RDIV_DIVSXT;
extern const CSRegister RDIV_DIGSXT;
extern const CSRegister RDIV_DIVGN;
extern const CSRegister RDIV_DIGGN;
extern const CSRegister RDIV_DIGSXR;
extern const CSRegister RDIV_CPSXT;
extern const CSRegister RDIV_DIG;
extern const CSRegister RDIV_CPGN;
extern const CSRegister RDIV_CPSXR;
extern const CSRegister RDIV_SPIBUF;
extern const CSRegister RDIV_AFE;
extern const CSRegister SPDUP_LDO_SPIBUF;
extern const CSRegister SPDUP_LDO_DIGIp2;
extern const CSRegister SPDUP_LDO_DIGIp1;
extern const CSRegister BYP_LDO_SPIBUF;
extern const CSRegister BYP_LDO_DIGIp2;
extern const CSRegister BYP_LDO_DIGIp1;
extern const CSRegister EN_LOADIMP_LDO_SPIBUF;
extern const CSRegister EN_LOADIMP_LDO_DIGIp2;
extern const CSRegister EN_LOADIMP_LDO_DIGIp1;
extern const CSRegister PD_LDO_SPIBUF;
extern const CSRegister PD_LDO_DIGIp2;
extern const CSRegister PD_LDO_DIGIp1;
extern const CSRegister EN_G_LDOP;
extern const CSRegister RDIV_DIGIp2;
extern const CSRegister RDIV_DIGIp1;
extern const CSRegister BSIGT;
extern const CSRegister BSTATE;
extern const CSRegister EN_SDM_TSTO_SXT;
extern const CSRegister EN_SDM_TSTO_SXR;
extern const CSRegister EN_SDM_TSTO_CGEN;
extern const CSRegister BENC;
extern const CSRegister BENR;
extern const CSRegister BENT;
extern const CSRegister BSTART;
extern const CSRegister BSIGR;
extern const CSRegister BSIGC;
extern const CSRegister CDS_MCLK2;
extern const CSRegister CDS_MCLK1;
extern const CSRegister CDSN_TXBTSP;
extern const CSRegister CDSN_TXATSP;
extern const CSRegister CDSN_RXBTSP;
extern const CSRegister CDSN_RXATSP;
extern const CSRegister CDSN_TXBLML;
extern const CSRegister CDSN_TXALML;
extern const CSRegister CDSN_RXBLML;
extern const CSRegister CDSN_RXALML;
extern const CSRegister CDSN_MCLK2;
extern const CSRegister CDSN_MCLK1;
extern const CSRegister CDS_TXBTSP;
extern const CSRegister CDS_TXATSP;
extern const CSRegister CDS_RXBTSP;
extern const CSRegister CDS_RXATSP;
extern const CSRegister CDS_TXBLML;
extern const CSRegister CDS_TXALML;
extern const CSRegister CDS_RXBLML;
extern const CSRegister CDS_RXALML;
extern const CSRegister EN_LOWBWLOMX_TMX_TRF;
extern const CSRegister EN_NEXTTX_TRF;
extern const CSRegister EN_AMPHF_PDET_TRF;
extern const CSRegister LOADR_PDET_TRF;
extern const CSRegister PD_PDET_TRF;
extern const CSRegister PD_TLOBUF_TRF;
extern const CSRegister PD_TXPAD_TRF;
extern const CSRegister EN_G_TRF;
extern const CSRegister F_TXPAD_TRF;
extern const CSRegister L_LOOPB_TXPAD_TRF;
extern const CSRegister LOSS_LIN_TXPAD_TRF;
extern const CSRegister LOSS_MAIN_TXPAD_TRF;
extern const CSRegister EN_LOOPB_TXPAD_TRF;
extern const CSRegister GCAS_GNDREF_TXPAD_TRF;
extern const CSRegister ICT_LIN_TXPAD_TRF;
extern const CSRegister ICT_MAIN_TXPAD_TRF;
extern const CSRegister VGCAS_TXPAD_TRF;
extern const CSRegister SEL_BAND1_TRF;
extern const CSRegister SEL_BAND2_TRF;
extern const CSRegister LOBIASN_TXM_TRF;
extern const CSRegister LOBIASP_TXX_TRF;
extern const CSRegister CDC_I_TRF;
extern const CSRegister CDC_Q_TRF;
extern const CSRegister STATPULSE_TBB;
extern const CSRegister LOOPB_TBB;
extern const CSRegister PD_LPFH_TBB;
extern const CSRegister PD_LPFIAMP_TBB;
extern const CSRegister PD_LPFLAD_TBB;
extern const CSRegister PD_LPFS5_TBB;
extern const CSRegister EN_G_TBB;
extern const CSRegister ICT_LPFS5_F_TBB;
extern const CSRegister ICT_LPFS5_PT_TBB;
extern const CSRegister ICT_LPF_H_PT_TBB;
extern const CSRegister ICT_LPFH_F_TBB;
extern const CSRegister ICT_LPFLAD_F_TBB;
extern const CSRegister ICT_LPFLAD_PT_TBB;
extern const CSRegister CG_IAMP_TBB;
extern const CSRegister ICT_IAMP_FRP_TBB;
extern const CSRegister ICT_IAMP_GG_FRP_TBB;
extern const CSRegister RCAL_LPFH_TBB;
extern const CSRegister RCAL_LPFLAD_TBB;
extern const CSRegister TSTIN_TBB;
extern const CSRegister BYPLADDER_TBB;
extern const CSRegister CCAL_LPFLAD_TBB;
extern const CSRegister RCAL_LPFS5_TBB;
extern const CSRegister CDC_I_RFE;
extern const CSRegister CDC_Q_RFE;
extern const CSRegister PD_LNA_RFE;
extern const CSRegister PD_RLOOPB_1_RFE;
extern const CSRegister PD_RLOOPB_2_RFE;
extern const CSRegister PD_MXLOBUF_RFE;
extern const CSRegister PD_QGEN_RFE;
extern const CSRegister PD_RSSI_RFE;
extern const CSRegister PD_TIA_RFE;
extern const CSRegister EN_G_RFE;
extern const CSRegister SEL_PATH_RFE;
extern const CSRegister EN_DCOFF_RXFE_RFE;
extern const CSRegister EN_INSHSW_LB1_RFE;
extern const CSRegister EN_INSHSW_LB2_RFE;
extern const CSRegister EN_INSHSW_L_RFE;
extern const CSRegister EN_INSHSW_W_RFE;
extern const CSRegister EN_NEXTRX_RFE;
extern const CSRegister DCOFFI_RFE;
extern const CSRegister DCOFFQ_RFE;
extern const CSRegister ICT_LOOPB_RFE;
extern const CSRegister ICT_TIAMAIN_RFE;
extern const CSRegister ICT_TIAOUT_RFE;
extern const CSRegister ICT_LNACMO_RFE;
extern const CSRegister ICT_LNA_RFE;
extern const CSRegister ICT_LODC_RFE;
extern const CSRegister CAP_RXMXO_RFE;
extern const CSRegister CGSIN_LNA_RFE;
extern const CSRegister CCOMP_TIA_RFE;
extern const CSRegister CFB_TIA_RFE;
extern const CSRegister G_LNA_RFE;
extern const CSRegister G_RXLOOPB_RFE;
extern const CSRegister G_TIA_RFE;
extern const CSRegister RCOMP_TIA_RFE;
extern const CSRegister RFB_TIA_RFE;
extern const CSRegister EN_LB_LPFH_RBB;
extern const CSRegister EN_LB_LPFL_RBB;
extern const CSRegister PD_LPFH_RBB;
extern const CSRegister PD_LPFL_RBB;
extern const CSRegister PD_PGA_RBB;
extern const CSRegister EN_G_RBB;
extern const CSRegister R_CTL_LPF_RBB;
extern const CSRegister RCC_CTL_LPFH_RBB;
extern const CSRegister C_CTL_LPFH_RBB;
extern const CSRegister RCC_CTL_LPFL_RBB;
extern const CSRegister C_CTL_LPFL_RBB;
extern const CSRegister INPUT_CTL_PGA_RBB;
extern const CSRegister ICT_LPF_IN_RBB;
extern const CSRegister ICT_LPF_OUT_RBB;
extern const CSRegister OSW_PGA_RBB;
extern const CSRegister ICT_PGA_OUT_RBB;
extern const CSRegister ICT_PGA_IN_RBB;
extern const CSRegister G_PGA_RBB;
extern const CSRegister RCC_CTL_PGA_RBB;
extern const CSRegister C_CTL_PGA_RBB;
extern const CSRegister RESET_N;
extern const CSRegister SPDUP_VCO;
extern const CSRegister BYPLDO_VCO;
extern const CSRegister EN_COARSEPLL;
extern const CSRegister CURLIM_VCO;
extern const CSRegister EN_DIV2_DIVPROG;
extern const CSRegister EN_INTONLY_SDM;
extern const CSRegister EN_SDM_CLK;
extern const CSRegister PD_FBDIV;
extern const CSRegister PD_LOCH_T2RBUF;
extern const CSRegister PD_CP;
extern const CSRegister PD_FDIV;
extern const CSRegister PD_SDM;
extern const CSRegister PD_VCO_COMP;
extern const CSRegister PD_VCO;
extern const CSRegister EN_G;
extern const CSRegister FRAC_SDM_LSB;
extern const CSRegister INT_SDM;
extern const CSRegister FRAC_SDM_MSB;
extern const CSRegister PW_DIV2_LOCH;
extern const CSRegister PW_DIV4_LOCH;
extern const CSRegister DIV_LOCH;
extern const CSRegister TST_SX;
extern const CSRegister SEL_SDMCLK;
extern const CSRegister SX_DITHER_EN;
extern const CSRegister REV_SDMCLK;
extern const CSRegister VDIV_VCO;
extern const CSRegister ICT_VCO;
extern const CSRegister RSEL_LDO_VCO;
extern const CSRegister CSW_VCO;
extern const CSRegister SEL_VCO;
extern const CSRegister COARSE_START;
extern const CSRegister REVPH_PFD;
extern const CSRegister IOFFSET_CP;
extern const CSRegister IPULSE_CP;
extern const CSRegister COARSE_STEPDONE;
extern const CSRegister COARSEPLL_COMPO;
extern const CSRegister VCO_CMPHO;
extern const CSRegister VCO_CMPLO;
extern const CSRegister CP2_PLL;
extern const CSRegister CP3_PLL;
extern const CSRegister CZ;
extern const CSRegister EN_DIR_SXRSXT;
extern const CSRegister EN_DIR_RBB;
extern const CSRegister EN_DIR_RFE;
extern const CSRegister EN_DIR_TBB;
extern const CSRegister EN_DIR_TRF;
extern const CSRegister TSGFC_TXTSP;
extern const CSRegister TSGFCW_TXTSP;
extern const CSRegister TSGDCLDQ_TXTSP;
extern const CSRegister TSGDCLDI_TXTSP;
extern const CSRegister TSGSWAPIQ_TXTSP;
extern const CSRegister TSGMODE_TXTSP;
extern const CSRegister INSEL_TXTSP;
extern const CSRegister BSTART_TXTSP;
extern const CSRegister EN_TXTSP;
extern const CSRegister GCORRQ_TXTSP;
extern const CSRegister GCORRI_TXTSP;
extern const CSRegister HBI_OVR_TXTSP;
extern const CSRegister IQCORR_TXTSP;
extern const CSRegister DCCORRI_TXTSP;
extern const CSRegister DCCORRQ_TXTSP;
extern const CSRegister GFIR1_L_TXTSP;
extern const CSRegister GFIR1_N_TXTSP;
extern const CSRegister GFIR2_L_TXTSP;
extern const CSRegister GFIR2_N_TXTSP;
extern const CSRegister GFIR3_L_TXTSP;
extern const CSRegister GFIR3_N_TXTSP;
extern const CSRegister CMIX_GAIN_TXTSP;
extern const CSRegister CMIX_SC_TXTSP;
extern const CSRegister CMIX_BYP_TXTSP;
extern const CSRegister ISINC_BYP_TXTSP;
extern const CSRegister GFIR3_BYP_TXTSP;
extern const CSRegister GFIR2_BYP_TXTSP;
extern const CSRegister GFIR1_BYP_TXTSP;
extern const CSRegister DC_BYP_TXTSP;
extern const CSRegister GC_BYP_TXTSP;
extern const CSRegister PH_BYP_TXTSP;
extern const CSRegister BSIGI_TXTSP;
extern const CSRegister BSTATE_TXTSP;
extern const CSRegister BSIGQ_TXTSP;
extern const CSRegister DC_REG_TXTSP;
extern const CSRegister DTHBIT_TX;
extern const CSRegister SEL_TX;
extern const CSRegister MODE_TX;
extern const CSRegister PHO_TX;
extern const CSRegister CAPTURE;
extern const CSRegister CAPSEL;
extern const CSRegister CAPSEL_ADC;
extern const CSRegister TSGFC_RXTSP;
extern const CSRegister TSGFCW_RXTSP;
extern const CSRegister TSGDCLDQ_RXTSP;
extern const CSRegister TSGDCLDI_RXTSP;
extern const CSRegister TSGSWAPIQ_RXTSP;
extern const CSRegister TSGMODE_RXTSP;
extern const CSRegister INSEL_RXTSP;
extern const CSRegister BSTART_RXTSP;
extern const CSRegister EN_RXTSP;
extern const CSRegister GCORRQ_RXTSP;
extern const CSRegister GCORRI_RXTSP;
extern const CSRegister HBD_OVR_RXTSP;
extern const CSRegister IQCORR_RXTSP;
extern const CSRegister HBD_DLY;
extern const CSRegister DCCORR_AVG_RXTSP;
extern const CSRegister GFIR1_L_RXTSP;
extern const CSRegister GFIR1_N_RXTSP;
extern const CSRegister GFIR2_L_RXTSP;
extern const CSRegister GFIR2_N_RXTSP;
extern const CSRegister GFIR3_L_RXTSP;
extern const CSRegister GFIR3_N_RXTSP;
extern const CSRegister AGC_K_RXTSP;
extern const CSRegister AGC_ADESIRED_RXTSP;
extern const CSRegister RSSI_MODE;
extern const CSRegister AGC_MODE_RXTSP;
extern const CSRegister AGC_AVG_RXTSP;
extern const CSRegister DC_REG_RXTSP;
extern const CSRegister CMIX_GAIN_RXTSP;
extern const CSRegister CMIX_SC_RXTSP;
extern const CSRegister CMIX_BYP_RXTSP;
extern const CSRegister AGC_BYP_RXTSP;
extern const CSRegister GFIR3_BYP_RXTSP;
extern const CSRegister GFIR2_BYP_RXTSP;
extern const CSRegister GFIR1_BYP_RXTSP;
extern const CSRegister DC_BYP_RXTSP;
extern const CSRegister GC_BYP_RXTSP;
extern const CSRegister PH_BYP_RXTSP;
extern const CSRegister CAPD;
extern const CSRegister DTHBIT_RX;
extern const CSRegister SEL_RX;
extern const CSRegister MODE_RX;
extern const CSRegister PHO_RX;
extern const CSRegister TRX_GAIN_SRC;

extern const CSRegister LML2_TRXIQPULSE;
extern const CSRegister LML2_SISODDR;
extern const CSRegister LML1_TRXIQPULSE;
extern const CSRegister LML1_SISODDR;
extern const CSRegister MCLK2_DLY;
extern const CSRegister MCLK1_DLY;
extern const CSRegister MCLK2_INV;
extern const CSRegister MCLK1_INV;

extern const CSRegister CMIX_GAIN_TXTSP_R3;
extern const CSRegister CMIX_GAIN_RXTSP_R3;
extern const CSRegister R5_LPF_BYP_TBB;
extern const CSRegister CG_IAMP_TBB_R3;
extern const CSRegister LOSS_LIN_TXPAD_R3;
extern const CSRegister LOSS_MAIN_TXPAD_R3;
extern const CSRegister C_CTL_PGA_RBB_R3;
extern const CSRegister G_PGA_RBB_R3;
extern const CSRegister G_LNA_RFE_R3;
extern const CSRegister G_TIA_RFE_R3;
extern const CSRegister RZ_CTRL;
extern const CSRegister CMPLO_CTRL_SX;
extern const CSRegister CMPLO_CTRL_CGEN_R3;
extern const CSRegister ISINK_SPIBUFF;

extern const CSRegister DCMODE;
extern const CSRegister PD_DCDAC_RXB;
extern const CSRegister PD_DCDAC_RXA;
extern const CSRegister PD_DCDAC_TXB;
extern const CSRegister PD_DCDAC_TXA;
extern const CSRegister PD_DCCMP_RXB;
extern const CSRegister PD_DCCMP_RXA;
extern const CSRegister PD_DCCMP_TXB;
extern const CSRegister PD_DCCMP_TXA;

extern const CSRegister DCCAL_CALSTATUS_RXBQ;
extern const CSRegister DCCAL_CALSTATUS_RXBI;
extern const CSRegister DCCAL_CALSTATUS_RXAQ;
extern const CSRegister DCCAL_CALSTATUS_RXAI;
extern const CSRegister DCCAL_CALSTATUS_TXBQ;
extern const CSRegister DCCAL_CALSTATUS_TXBI;
extern const CSRegister DCCAL_CALSTATUS_TXAQ;
extern const CSRegister DCCAL_CALSTATUS_TXAI;

extern const CSRegister DCCAL_CMPSTATUS_RXBQ;
extern const CSRegister DCCAL_CMPSTATUS_RXBI;
extern const CSRegister DCCAL_CMPSTATUS_RXAQ;
extern const CSRegister DCCAL_CMPSTATUS_RXAI;
extern const CSRegister DCCAL_CMPSTATUS_TXBQ;
extern const CSRegister DCCAL_CMPSTATUS_TXBI;
extern const CSRegister DCCAL_CMPSTATUS_TXAQ;
extern const CSRegister DCCAL_CMPSTATUS_TXAI;

extern const CSRegister DCCAL_CMPCFG_RXBQ;
extern const CSRegister DCCAL_CMPCFG_RXBI;
extern const CSRegister DCCAL_CMPCFG_RXAQ;
extern const CSRegister DCCAL_CMPCFG_RXAI;
extern const CSRegister DCCAL_CMPCFG_TXBQ;
extern const CSRegister DCCAL_CMPCFG_TXBI;
extern const CSRegister DCCAL_CMPCFG_TXAQ;
extern const CSRegister DCCAL_CMPCFG_TXAI;

extern const CSRegister DCCAL_START_RXBQ;
extern const CSRegister DCCAL_START_RXBI;
extern const CSRegister DCCAL_START_RXAQ;
extern const CSRegister DCCAL_START_RXAI;
extern const CSRegister DCCAL_START_TXBQ;
extern const CSRegister DCCAL_START_TXBI;
extern const CSRegister DCCAL_START_TXAQ;
extern const CSRegister DCCAL_START_TXAI;

extern const CSRegister DCWR_TXAI;
extern const CSRegister DCRD_TXAI;
extern const CSRegister DC_TXAI;
extern const CSRegister DCWR_TXAQ;
extern const CSRegister DCRD_TXAQ;
extern const CSRegister DC_TXAQ;
extern const CSRegister DCWR_TXBI;
extern const CSRegister DCRD_TXBI;
extern const CSRegister DC_TXBI;
extern const CSRegister DCWR_TXBQ;
extern const CSRegister DCRD_TXBQ;
extern const CSRegister DC_TXBQ;
extern const CSRegister DCWR_RXAI;
extern const CSRegister DCRD_RXAI;
extern const CSRegister DC_RXAI;
extern const CSRegister DCWR_RXAQ;
extern const CSRegister DCRD_RXAQ;
extern const CSRegister DC_RXAQ;
extern const CSRegister DCWR_RXBI;
extern const CSRegister DCRD_RXBI;
extern const CSRegister DC_RXBI;
extern const CSRegister DCWR_RXBQ;
extern const CSRegister DCRD_RXBQ;
extern const CSRegister DC_RXBQ;
extern const CSRegister DC_RXCDIV;
extern const CSRegister DC_TXCDIV;
extern const CSRegister HYSCMP_RXB;
extern const CSRegister HYSCMP_RXA;
extern const CSRegister HYSCMP_TXB;
extern const CSRegister HYSCMP_TXA;
extern const CSRegister DAC_CLKDIV;
extern const CSRegister RSSI_RSSIMODE;
extern const CSRegister RSSI_PD;
extern const CSRegister INTADC_CMPSTATUS_TEMPREF;
extern const CSRegister INTADC_CMPSTATUS_TEMPVPTAT;
extern const CSRegister INTADC_CMPSTATUS_RSSI2;
extern const CSRegister INTADC_CMPSTATUS_RSSI1;
extern const CSRegister INTADC_CMPSTATUS_PDET2;
extern const CSRegister INTADC_CMPSTATUS_PDET1;
extern const CSRegister RSSI_BIAS;
extern const CSRegister RSSI_HYSCMP;
extern const CSRegister INTADC_CMPCFG_TEMPREF;
extern const CSRegister INTADC_CMPCFG_TEMPVPTAT;
extern const CSRegister INTADC_CMPCFG_RSSI2;
extern const CSRegister INTADC_CMPCFG_RSSI1;
extern const CSRegister INTADC_CMPCFG_PDET2;
extern const CSRegister INTADC_CMPCFG_PDET1;
extern const CSRegister RSSI_DAC_VAL;
extern const CSRegister RSSI_PDET2_VAL;
extern const CSRegister RSSI_PDET1_VAL;
extern const CSRegister RSSI_RSSI2_VAL;
extern const CSRegister RSSI_RSSI1_VAL;
extern const CSRegister RSSI_TREF_VAL;
extern const CSRegister RSSI_TVPTAT_VAL;
extern const CSRegister RSSIDC_CMPSTATUS;
extern const CSRegister RSSIDC_RSEL;
extern const CSRegister RSSIDC_HYSCMP;
extern const CSRegister RSSIDC_PD;
extern const CSRegister RSSIDC_DCO2;
extern const CSRegister RSSIDC_DCO1;
extern const CSRegister DCLOOP_STOP;
} // namespace LMS7002MCSR_Data
} // namespace lime
